package com.chen.service;

import com.chen.pojo.common.PageResult;
import com.chen.pojo.dto.PartnerDto;
import com.chen.pojo.entry.Partner;
import com.chen.pojo.vo.PartnerVo;

/**
 * @author chen
 * @version 1.0
 * @create_date 2025/8/17
 * 合作商管理业务接口
 */
public interface PartnerService {
    /**
     * 分页查询
     *
     * @param pageIndex 起始页
     * @param pageSize  页大小
     * @param name      合作商名称
     * @return 查询结果
     */
    PageResult<Partner> searchList(Integer pageIndex, Integer pageSize, String name);

    /**
     * 新增合作商
     *
     * @param partnerDto 合作商基本信息
     * @return 结果
     */
    Boolean addPartner(PartnerDto partnerDto);

    /**
     * 根据id 查询合作商
     *
     * @param id 合作商id
     * @return 查询结果
     */
    PartnerVo getPartnerById(Integer id);

    /**
     * 更新合作商信息
     *
     * @param id         合作商id
     * @param partnerDto 合作商信息
     * @return 更新结果
     */
    Boolean updatePartner(Integer id, PartnerDto partnerDto);

    /**
     * 删除合作商的信息
     *
     * @param id 合作商id
     * @return result
     */
    Boolean deletePartner(Integer id);

    /**
     * 重置密码
     *
     * @param id 合作商id
     * @return 结果
     */
    Boolean updatePassword(Integer id);

    /**
     * 统计合作商数量
     *
     * @return 合作商数量
     */
    Long getPartnerCount();
}
